<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // CALL继承的特点：
    //     CHILD方法中把PARENT当作普通函数执行，让PARENT中的THIS指向CHILD的实例
    //     相当于给CHILD的实例设置了很多私有的属性或者方法
    //         1、只能继承父类私有的属性或者方法（因为是把PARENT当作普通函数执行，
    //         和其原型上的属性和方法没有关系
    //         2、父类私有的变为子类私有的
    function A(x) {
      this.x = x
    }
    A.prototype.getX = function () {
      console.log(this.x);
    }

    function B(y) {
      // 这里的this指向B的实例b1
      A.call(this, 200) // 相当于b1.x = 200
      this.y = y
    }
    B.prototype.getY = function () {
      console.log(this.y);
    }

    let b1 = new B(100)
    b1.y
    b1.x
  </script>
</body>

</html>